package com.example.itext.表格;

import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPRow;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import com.sun.org.apache.bcel.internal.generic.NEW;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;

public class ITEXT {

    public static void main(String[] args) throws FileNotFoundException, DocumentException {

        Document document = new Document();

        PdfWriter pdfWriter = PdfWriter.getInstance(document,new FileOutputStream("D:\\javaIdea\\IDEAPDF\\表格.pdf"));

        document.open();

        //添加内容
        document.add(new Paragraph("HD content here"));

        // 3列的表表格
        PdfPTable table = new PdfPTable(3);
        table.setWidthPercentage(100); // 宽度100%填充
        table.setSpacingBefore(10f); // 前间距
        table.setSpacingAfter(10f); // 后间距

        ArrayList<PdfPRow> rows = table.getRows();
        // 设置每列的宽度,因为是定义了三列的表格，所以这里的设置3个数据，代表了每列的宽度
        float[] columnWidths = { 1f, 2f, 3f };
        table.setWidths(columnWidths);

        // 单元格数组
        PdfPCell[] cells = new PdfPCell[3];
        PdfPRow pdfPRow1 = new PdfPRow(cells);

        //单元格
        cells[0] = new PdfPCell(new Paragraph("111"));//单元格内容
        cells[0].setBorderColor(BaseColor.BLUE);    //设置边框颜色
        cells[0].setPaddingLeft(20);    //左填充20
        cells[0].setHorizontalAlignment(Element.ALIGN_CENTER);  //水平居中
        cells[0].setVerticalAlignment(Element.ALIGN_MIDDLE);    //垂直居中

        cells[1] = new PdfPCell(new Paragraph("222"));
        cells[2] = new PdfPCell(new Paragraph("333"));

        // 第一行的内容
        rows.add(pdfPRow1);

        PdfPCell[] pdfPCell = new PdfPCell[3];
        pdfPCell[0] = new PdfPCell(new Paragraph("newong"));

        PdfPRow pdfPRow = new PdfPRow(pdfPCell);
        // 添加第二行
        rows.add(pdfPRow);

        document.add(table);

        //关闭文档
        document.close();
        //关闭书写器
        pdfWriter.close();
    }
}
